                           Music Composer
                            version 3.20

                             Written by

                       Clayburn W. Juniel, III


Music Composer is a MIDI Synth sequence editor.  With this program you can create a program from scratch.  Load an existing sequence and edit that.  You can add notes, delete notes, modify note volumes, and change the note channels. You can add notes via a MIDI keyboard or use the keyboard on the screen to add notes exactly where you want them.  You can also add and modify all types of MIDI messages including system exclusive messages.

Music Composer uses a spread sheet format to display the notes and MIDI messages.  Sequences are created in  blocks.  Each block is a set of MIDI notes and messages that are in a set of 16 tracks.  Each sequence block can be played seperately.  If you wanted to repeat a melody you would just create it as a seperate block.


MENU OPTIONS


APPLE MENU

About GS Composer

Window gives name and version of program.  Also author's name and copyright information.


Configure preferences

This dialog window has several check boxes allowing you to set preferences as to which warning messages to show and which music sequence files to enable icons for.  And which music files you can select from when opening a music file.  If the icons are enabled you can launch Music Composer by double clicking on the sequence files.  See LAUNCH ICONS for a further discussion of icons.


Show icons

Shows and gives names for all of the icons used in the spreadsheet.


FILE MENU

New

Set to create a new sequence.


Open

Open a sequence file from disk.  Including the instrument bank and wave.  You can load SynthLAB, Music Composer, Music Studio, and Sound Smith format files.  You can also load Standard type 0 and 1 MIDI files.  Choice of files shown is controlled by the preference dialog box.


Open Instrument

Open a instrument bank and wave.


Import sequence

A sequence file created with this program can have up to 64 blocks.  Each block is like a separate sequence file without the header information.  When you import a sequence file you create another block and add that file to blocks that already exist. It imports SynthLAB format files as the sequence blocks.

Import MIDI sysex

This imports a MIDI system exclusive message file to the top of track 1.


Revert to saved

Revert the sequence to the lasted saved sequence.


Close

Close a new desk accessory window.


Save

Save the sequence file currently in memory.


Save as

Save the sequence file currently in memory.  Allowing you to rename it.


Export SL sequence

Saves the sequence block you are currently editing as a SynthLab file format.


Export MIDI file

Exports a type 1 MIDI file of the present sequence block.


Delete sequence

Delete a sequence file that is not locked.  This will also delete any file type that Music Composer creates.


Initialize disk

This will initialize 5 1/4 and 3 1/2 inch disk only if you need them to save your work to.  If the disk to be initialized was already initialized once it will just be erased.


Page Setup

On dot matrix printers the vertical condense must be set to 50%.  The reduction should be set to half or 50%.  On Jet and laser printers the vertical and horizontal resolutions have to be set so that 8 cells horizontally and 72 cells vertically fit on a sheet.


Print

You can print the sequence block you are editing to paper.  Twelve beats (72 cells) are printed per paper page.


Quit

Exit this program.


EDIT MENU

Undo

Does nothing in this program


Cut

Copies the selected information to an internal clipboard only.  It then deletes the selected information.  You can cut tracks, measures, beats and single notes.  See the section on COMPOSER SPREAD SHEET for more detailed information on this and the other edit functions.


Copy

Copies the selected information to an internal clipboard only.  Without deleting it from the spread sheet cells.  You can copy the same as in the cut above.


Paste

Paste the information from the internal clipboard to the spread sheet cells at the point of the selection.  If more then one cell is selected then it is pasted starting at the upper left cell of the selection.  If tracks are pasted then the tracks pasted to are erased then the items are pasted to the tracks.  If rows are pasted then the rows beneath that are moved down (or MIDI notes and messages are moved up in clock ticks).


Clear

Clears the selected information from the spread sheet cells


Change instrument

Changes the instruments (channels) in the selected area.


Move Instrument

Move instrument only works when an entire single track is selected.  See the section on COMPOSER SPREAD SHEET for more details on selecting an entire track. You can move all the instruments of a certain number to any of the 16 tracks.


Block

This controls the creation, deletion and editing of the sequence blocks.  A dialog window is created with several options.  Delete block deletes the block number chosen with the scroll bar beneath it.  Edit block sets the spread sheet cells to edit the block number beneath it.  When this button is chosen the dialog window is removed and you are ready to edit that block.  Block count tells you how many blocks there presently are.  New block creates a new sequence block.  When this button is chose the dialog window is removed and you are ready to edit that block.  Continue removes the dialog window without changing which block you were editing.  The present block number appears on the right of the system menu bar.

Key equivalents:

Delete block -- DELETE KEY
Edit block   -- E KEY
New Block    -- N KEY


Go to page number

You use this command with a hard copy printing of the sequence block.  There are two beats showing on the spread on the computer screen.  There are 12 beats that are printed to paper.  This command will take you to the beat that is at the start of the page number chosen.


Go to marker number

You can place a marker icon anywhere in the spread sheet.  Set a number in data1 and use this item to go to that marker


Transpose down

Transpose notes in selected area by one half steps down.


Transpose up

Transpose notes in selected area by one half steps up.


Volume down

Transpose volume down in selected area up by chosen amount


Volume up

Transpose volume up in selected area up by chosen amount


Set new duration

Sets the duration that a notes play in the selected area.  The duration can go from 128th of a note to 2 notes.  This is for fine tuning notes that are of 2 note duration or less.


Select all

Select all midi items for edit functions.


Go to stop

This will take you to the place in the spread sheet where the music stoped playing.  Or if the music is still playing to where it played the last note.


Go to next marker

Choosing this menu item will take you to the next marker in the spread sheet.


Find System Exclusive

This command will take you to the next system exlusive message in the spread sheat.


Fade in

The volume of notes and volume control will "fade in" in the selected area.


Fade out

The volume of notes and volume control will "fade out" in the selected area.


Play zone

The notes in the selected area will be played.



SETUP

MIDI

This control MIDI input and output.  A dialog window is created with several options.

Choose one of the Omni, Poly, and Multi radio buttons for the mode.  Omni means all MIDI message channels (instruments) are accepted through MIDI and forced to one channel (the basic channel).  Poly means only those MIDI messages that match the basic channel are accepted.  Multi means all MIDI message channels are accepted without being changed.

Choose a basic channel with the scroll bar.

With SysEx in checked when a system exclusive message is received it will be recorded in the spread sheet cell.

MIDI in and MIDI out control whether MIDI in or out is enabled.

Vel Comp adds the value to the volume of the incoming MIDI note message.

Keyboard equivalents:

Omni     -- O KEY
Poly     -- P KEY
Multi    -- M KEY
SysEx in -- S KEY
MIDI in  -- I KEY
MIDI out -- X KEY


Sequencer

This controls the sequencer functions.  The clock can be set to internal or MIDI port.

Count off beats lets that many beats "count off" after the play or record button is pressed before playing or recording starts.

With metronome check a metronome plays to the beat.

With Key start pressed playing or recording doesn't start until after a key up (note off) MIDI message is received.

This program will recognized MIDI START, CONTINUE and STOP messages. What the MIDI record and MIDI play radio buttons do is decide whether these messages are for recording or playing.  If you click on the radio button that is chosen then both will be not chosen.

Beat to: controls the timing of the beats.  The beat time effects the metronome as well as how many beats are in six cells in the spread sheet.  See COMPOSER SPREAD SHEET for more information.

Key equivalents:

Internal    -- I KEY
MIDI port   -- X KEY
Metronome   -- M KEY
Key start   -- K KEY
MIDI Record -- R KEY
MIDI Play   -- P KEY
Beat to     -- 1 - 7 KEY


Track out

Track out controls where the output of the sequencer goes for each track.  A dialog window is created allowing you to chose.

Key equivalents:

Synthesizer -- 1-0 KEY and 1-6 Keypad
MIDI port   -- Shift 1-0 KEY and Shift 1-6 keypad

Track to channel

Track to channel will map each track of the sequencer to a certain instrument. A dialog window is created allowing you to set this. If that channel is set to 0 then it will play what the MIDI instrument says.


Volumes

Volumes brings up a dialog window that lets you chose the volume that each instrument is played at through the sequencer.  It also lets you choose the system volume.


MUSIC

Composer

Go to the composer window


Keyboard

Go to the keyboard window


Player

Player brings up a dialog window letting you choose which blocks to play when. You can choose the number of play positions up to 128.  For each play position (up to the number of play positions) set a sequence block number.  You can play the same block several times.  With loop checked when the last play positioned is played it will "loop" to first and start again.  With Scroll checked the notes and MIDI messages scroll on the screen when you Play or Continue music.

Key equivalents:

Loop   -- L KEY
Scroll -- S KEY


Play block

Play block plays the sequence block that you are editing


Play from position

Play from position starts playing from the start of a selcected area to the end of the block.  You can click on any where and start playing from that point.


Kill all notes

Kill all notes will stop any hung notes from playing.


INSTRUMENTS

Choose an instrument for the basic channel

Key equivalents:

Instruments 1-10  -- SHIFT KEY 1-0
Instruments 11-16 -- SHIFT KEYPAD 1-6


KEYBOARD

This is the keyboard on the screen. With it you can play and record notes from instruments.  You can set the keyboard volume and whether the first key on the left is C1 or C2.  In recording mode you can record a single note.  The note recorded will be the last note played before you press Done.  For every note recorded there is a MIDI note on and note off.  The time till the note off is when you released the last key.  To exit recording mode without recording a note press the cancel button.

To enter the recording mode you start at the spread sheet.  While holding down the COMMAND KEY double click in an empty cell at the beat and track  where you want the note to be.  You will be taken to the keyboard in recording mode. When you press Done you will be take back to the spread sheet and the note will be in the spread sheet.

Key equivalents:

C1 -- 1 KEY
C2 -- 2 KEY


COMPOSER SPREAD SHEET

The composer spread sheet is where you do your editing, recording, and playing of sequence files.

At the top are several controls.  Starting at the left are the play tracks. For each box that is checked that track will play.  You can choose which tracks to play or not when recording and playing.

Below that is the record track.  You can choose only one of these to record your MIDI input to. If you select the track that is already chosen then it is de-selected.

Other tracks switches between tracks 1-8 and 9-16

You can set the play tempo with the tempo scroll bar.

The Play button plays the sequence file according to the settings in the Player dialog window.

The Record button starts recording MIDI input.  It records into and plays the present sequence block set for editing. The track set for recording is erased then the recorded input is put in that track.

The Stop button stops playing and recording.

The Continue button continues playing from where you last stopped playing.

If you hold down the SHIFT KEY and choose the Continue button you will continue recording.  This option doesn't erase the recorded track.  It starts playing - recording at the beginning of the present sequence block set for editing. You can then start recording where you hear you left off.

While music is playing and/or recording most of the functions of the program are still available to use.  I wouldn't recommend cutting, copying, pasting, or clearing anything at this time.

Key equivalents:

Play tracks 1-8    -- 1-8 KEY
Play tracks 9-16   -- 1-8 KEY
Record tracks 1-8  -- 1-8 KEYPAD
Record tracks 9-16 -- 1-8 KEYPAD
Other tracks       -- O KEY
Play               -- P KEY
Record             -- R KEY
Continue playing   -- C KEY
Continue Recording -- SHIFT-C KEY
Stop               -- S KEY

Below The above controls are the 8 track names.  Four tracks can be shown at once. To see other tracks use the scroll bar at the bottom.  You can change the track names by clicking on the track name.  This will bring up an edit window allowing you to change the name.


SPREAD SHEET CELLS

Below the track names are the spread sheet cells.  This is where the MIDI notes and messages appear and are edited.


Structure of the spread sheet cells

There are 16 tracks.  Four tracks can be seen at once.  To see the other tracks use the scroll bar at the bottom of the window.  For each track there are 2 beats showing.  Each beat is marked by a small color bar at left of the spread sheat at the start of each beat.  There are 6 cells per beat.  To see other cells use the scroll bar at the right of the window.  When printing a hard copy 12 beats (72 cells) are printed. starting at the first small color bar on the left every 12 one has a number in it representing what page number it would be if printed.

When MIDI notes or other messages appear in a beat they start at the top of the beat and go down.  If there are more notes or messages then 6 per beat then the notes and messages pass 6 will not be seen.  If that is the case here is what you can try to see more of the notes or messages.

Many sequence files created have all the instruments (channels) in one track. You can use Move instrument to move some instruments to other tracks.  You can go to the setup menu and choose Sequencer.  Change the beat to to a faster beat.  This will mean less notes or messages per beat.  If you still think there are notes or messages that are not seen you can cut and paste notes to another track.  See Editing cells below for more details on this.


Selecting cell(s)

There is a color bar just below the track names.  If you click there and entire track will be selected.  If you hold down the mouse and drag it you can select several tracks.  If you move pass the right or left edge of the window the tracks will scroll.

If you click on the color bar on the left all the tracks in that row will be selected.  If you hold down the mouse and drag it you can select several rows. If you move pass the top or bottom of the spread sheet cells then the spread sheet will scroll.

You can select an individual cell by clicking on that cell.  If you hold down the mouse and drag it you can select several cells.  If you move pass the boundaries of the cells the spread sheet will scroll.

The edit menu commands Change instrument, Fade in, Fade out, and play zone work on entire beats.  Therefore although only one MIDI note or message in a beat isselected, all the notes or messages in that beat will be effect by the action of the menu command.


Editing cell(s)

The Undo function in the edit menu does nothing to the spread sheet cells.  To cut or copy select the area then choose the edit menu command.  If you are cutting or copying more then one track (but not choosing the tracks by the color bar at the top of the spread sheet cells) All of the MIDI note or message items in the bottom selected beat area might not be cut or copied. You can possibly avoid this by dragging the mouse to select the next empty row below where you want to cut or copy.

This paragraph describes why you might not copy what you selected.  It gets a bit technical so you can skip it if you want.  When MIDI notes and messages are created two things they are given is a track and a time stamp.  The track is really a conceptual thing and has not much to do with how a note plays. But it does make editing sequences easier.  The time stamp tells when to play the note or message.  The spread sheet is separated into beats and tracks. Lets say a beat is 96 clock ticks long (This is set by the beat to in the setup menu sequencer window).  Each beat would start at 0, 96, 192, 288 etc. The time stamps on the notes and messages could be anything (1, 103, 219, 307).  The notes and messages within a beat fall within a 96 tick range.  The notes and messages in the sequence are ordered by time stamp and not track. If you try and select say only two cells in a beat the program will count tell it reaches the third item in a beat range then it will cut or copy up to that. Track 1 might have time stamps of 0, 10, and 20.  Track 2 has time stamps of 15, 30, 40 the program would stop when it found the third item in track 1 and would not find the second item in track 2.  It has to stop here to keep the relative timing of the items the same.


To edit an individual MIDI note or message double click on a single cell.

To add a MIDI message double click on an empty cell.

To add a MIDI note hold down the COMMAND KEY while double clicking on a empty cell.  See KEYBOARD for further details of recording a single note.

When you double click on a cell an edit MIDI item dialog window appears.  In this dialog window there are 4 items that can be edited. The type (see list later).  The channel (instrument).  The Data1 and the Data2.  An icon appears next to the type scroll arrow.  And the name of the type appears next to the word type.  Data1 may also have a an icon and it name is just below the type name.  For some of the MIDI types certain things can not be edited.  In most cases the scroll arrow next to that item is deactivated.  If you double clicked on an existing MIDI item then the type scroll arrow is deactivated. Some MIDI items are not editable and will not bring up a dialog window when you click on them (see list below).

When you click on an system exclusive item or choose the OK button when the data type - system exclusive - is showing then you get the MIDI system exclusive message editing dialog window.

If this is a new MIDI system exclusive message then the byte # scroll arrow is deactivated.  You choose each byte value (0 - 127) then use the Add byte button to add the byte to the system exclusive message.  You can then choose another byte value and repeat.  The byte count shows how many bytes are in the message. You can have a total of 16,375 bytes in one message.

If you double clicked on an existing MIDI system exclusive message then the Add byte and Cancel buttons are deactivated.  You can't add any more bytes to the message but you can edit the bytes that are there.  Just choose the byte # then edit that byte.

You can save the MIDI exclusive data to a seperate binary file with the export button.

Key equivalents:

Add byte -- A KEY


Lyrics behave a little differently then the MIDI messages.  There can only be a total of 256 seperate lyrics.  If you COPY a lyric from one place to another it is the same lyric.  If you change the lyric in one place it will be changed in the others.  Lyrics can only be 15 letters long.  To create a lyric double click in an empty cell.  Find the Control type.  Then scroll down with the Data1 arrow to find the Lyric and hit the OK button.



List of MIDI messages and what in them can be edited individually by double clicking on them.

Type             Editable   Channel     Data1      Data2

Marker              x                     x          x
Set beat            x                     x          x
Set tempo           x                     x          x
Note off
Note on             x                                x
Poly after touch    x          x          x          x
Control             x          x                     x
Program change      x          x          x          x
Mono After touch    x          x          x          x
Pitch bend          x          x          x          x
System exclusive    x                     x
F1 Song position    x                     x          x
Song select         x                     x          x
F4
F5
Tune request
End exclusive -- You should never see this icon
MIDI clock
F9
Start
Continue
Stop
FD
Active sensing


A brief description of what the various MIDI message icons mean.  And what data1 and data2 mean in the seq item editor.

Marker..  Is used by the MIDI Synth tool but not by Music Composer. Its icon is included just because some other program might use it.


Set beat..  Sets the amount of time that goes by for each beat.  MIDI Synth does some internal checking every beat.  The smaller the number the faster the beat. 96 is a quarter note.  Also the built in metronome beats to this.

Data1 beat value
Data2 nothing


Set tempo..  Changes the tempo up or down by the amount in data2

Data1 + or -
Data2 tempo change value


Note off..  Stops a note from playing that was of the same channel and same note value.

Data1 note value
Data2 unimportant


Note on..  Plays the note. But if data2 is 0, it is a note off

Data1 note value
Data2 volume


Poly after touch..  This is a MIDI message sent by keyboards with individual pressure sensitivity for each voice.

Data1 note value
Data2 pressure amount


Control..  Controls several functions.  Nine of which are defined in Music Composer.  Data1 holds the icon for a paticular function.

Data1 Volume.. Controls the volume of the channel(instrument).
Data2 volume amout

Data1 Sustain..  This is a sustain switch
Data2 0 is off, 127 is on

Data1 Lyric..  This is where you can create a lyric.  When you press return in the midi item edit box, you get a line edit box where you can create a 15 character lyric.
Data2 not important

Data1 Local Control...  This MIDI message is used to disconnect an instument's keyboard form from its internal voices.  The voices can then be controlled via the MIDI in port.
Data2 0 is local control off, 127 is local control on.

Data1 All notes off..  This turns all notes off
Data2 not important

Data1 Omni on..  Turns omni mode on
Data2 not important

Data1 Omni off..  Turns omni mode off
Data2 not important

Data1 Mono on..  Turns mono mode on
Data2 Determines how many mono channels the receiving instrument should allocate to its internal voices.

Data1 Poly on..  Turns poly mode on
Data2 not important


Program change..  Changes the current preset sound on a MIDI device

Data1 the preset number(0 - 127)
Data2 not important


Mono after touch..  This MIDI message is transmitted by a pressure sensity keyboard.

Data1 pressure amount
Data2 not important


Pitch Bend..  This message is sent when the pitch bender is changed

Data1 amount of pitch bender change
Data2 finer resolution of change


System exclusive..  These are system exclusive messages.

F1.. Is nothing


Song Position..  This indicates the position of a song in a MIDI sequence.

Data1 position pointer 1
Data2 position pointer 2


Song select..  This message is sent to a drum machine or sequencer to select a preset song.

Data1 song number
Data2 not important


F4.. Nothing

F5.. Nothing


Tune request..  Tells a MIDI device to preform its tuning routine if it has one

Data1 not important
Data2 not important


MIDI clock... Timing sent by an external MIDI device

Data1 not important
Data2 not important


F9.. Nothing

Start..  This MIDI message starts a sequence.

Data1 not important
Data2 not important


Continue..  This MIDI mesage continues a sequence playing that was stopped

Data1 not important
Data2 not important


Stop..  This MIDI message stops a sequence playing.

Data1 not important
Data2 not important


FD..  Nothing


Active sensing..  MIDI devices send this message to say they are still connected.

Data1 not important
Data2 not important


System reset..  A MIDI device receiving this message is reset to it default settings.

Data1 not important


IMPORTED MUSIC STUDIO INSTRUMENTS

When Music Composer imports a Music Studio file it also imports the instruments.  The xxx.wbnk file can be in the same directory as music file.  Or it can be in a waves sudirectory located on the root directory of the volume that the music file is on or that Music Composer is launched from.  Music Composer creates a xxx.Bnk and a xxx.Wav file for the imported file.  You are given a chance to name these files.  It saves these files in the same directory as the original music file.  It will not overwrite a file that is already there.  If one already exist you must rename it.  If you don't need to create another set of xxx.Bnk and xxx.Wav files, delete the name from the edit window when asked for a wave bank name.

Some if not all the created instruments will need to be adjusted with SynthLAB
If this task is to daunting you can always load an instrument bank with similar instruments and use that.


LAUNCH ICONS

I hope here to discuss how the Finder deals with icons.  If you don't use the finder there no reason to read any farther.

There are three different sources for document icons.  The finder has some built in(Plain vanilla).  Old style icon files with file type $CA located in the Icons directory of the boot volume.  And rBundle icons.  Programs that uses a rBundle when first launched stores information in a DeskTop file that is located in the Icons subdirectory of the volume(disk drive) that the program was launched from.  If there is no DeskTop file or Icons subdirectory one is created.  Each source of icons want to tell the Finder which files to display as which icons.

Now if there are several conflicting sources for icons how does the Finder choose which ones to use.  After some reading and checking myself here is what I believe to be the case.  Each volumes icon subdirectory is checked in turn. You can check in which order they are checked by the order in which they appear on the desktop.  Of course the boot volume is checked first.  The first icon diffinition that the finder comes across is what is used.

If there is a DeskTop file in the boot volume it is looked at first.  There can also be conflicts within a single DeskTop file.  If that is the case the program that was launched first for the first time has its icons used.

Then any old style icon files are checked next in the boot volume.  They are checked in the natural order that they are in the subdirectory.  There is no guarantee that the Finder will show you this natural order.  You may need some other file utility to show you this.

After that volume has been checked the next volume in line is checked in the same manner and so on.  Finally the icons internal to the finder are used.

What this all means is that the icons you expect to appear may not be used. There could be some other source of icons overriding them.  You can use the preferences in Music Composer to not select a type of file.  But if you select to use a type of file it might be be chosen because some other source of icons got to it first.
